// esta es una clase que tiene todos los atributos que se almacenan en la base de datos 
// en el patron arquitectural modelo vista-controlador ES EL MODELO

package code.modelo;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;

@Entity // crea una tabla en la base de datos asociada a esta clase 
public class Juego implements Serializable {

	/**
	 *estas son anotaciones para relacionarnos en hibernate 
	 *aqui esta unido el dto con las anotaciones de hibernate 
	 *es decir que al crear la clase juego se esta creando en la base de datos la tabla juego  
	 */

	private static final long serialVersionUID = -7019917788357188666L;

	@Id
	@SequenceGenerator(name = "JUEGO_ID_GENERATOR", sequenceName = "JUEGO_CODIGO_SEQ", allocationSize = 1)
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "JUEGO_ID_GENERATOR")
	@Column(name = "id", unique = true, nullable = false)
	private Integer id;
	@Column(name = "nick", length = 50)
	private String nick;
	@Column(name = "nivel")
	private Integer nivel;
	@Column(name = "horas")
	private Integer horas;
	@Column(name = "minutos")
	private Integer minutos;
	@Column(name = "segundos")
	private Integer segundos;

	public Juego() {
		super();
		// TODO Auto-generated constructor stub
	}

	public Juego(String nick, Integer nivel, Integer horas, Integer minutos,
			Integer segundos) {
		super();
		this.nick = nick;
		this.nivel = nivel;
		this.horas = horas;
		this.minutos = minutos;
		this.segundos = segundos;
	}

	@Override
	public String toString() {
		return nick + "              " + horas + ":" + minutos + ":" + segundos;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getNick() {
		return nick;
	}

	public void setNick(String nick) {
		this.nick = nick;
	}

	public Integer getNivel() {
		return nivel;
	}

	public void setNivel(Integer nivel) {
		this.nivel = nivel;
	}

	public Integer getHoras() {
		return horas;
	}

	public void setHoras(Integer horas) {
		this.horas = horas;
	}

	public Integer getMinutos() {
		return minutos;
	}

	public void setMinutos(Integer minutos) {
		this.minutos = minutos;
	}

	public Integer getSegundos() {
		return segundos;
	}

	public void setSegundos(Integer segundos) {
		this.segundos = segundos;
	}

	public String getTiempo() {
		return horas + ":" + minutos + ":" + segundos;
	}
}
